Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce Hash Field Expiration to the Spring Data Redis framework #3054

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

tishun
Copy link

@tishun tishun commented Nov 25, 2024

This change introduces the Hash Field Expiration feature as part of the features provided by the spring-data-redis project.

As part of the change the following commands would be made available:

  • HEXPIRE - expire a set of hash fields after a specified time, measured in seconds
  • HPEXPIRE - expire a set of hash fields after a specified time, measured in milliseconds
  • HEXPIREAT - expire a set of hash fields at a specified UNIX time, measured in seconds since Unix epoch
  • HPEXPIREAT - expire a set of hash fields at a specified UNIX time, measured in milliseconds since Unix epoch
  • HEXPIRETIME (omitted on the grounds it is missing for keys too)
  • HPERSIST - persist a field that was previously marked for expiration
  • HTTL - return the time-to-live of a given hash field in seconds
  • HPTTL - return the time-to-live of a given hash field in milliseconds

The new commands are available as part of the following interfaces:
(based on similar PR #283)

  • RedisHashCommands
  • HashOperations / BoundHashOperations
  • ReactiveHashOperations
  • StringRedisConnection

This feature is available starting from Redis CE version 7.4.x and later

For more information on HFE you can also check out ...
... the blog article on the topic.
... examples of how one can take advantage of the feature in their application


  • You have read the Spring Data contribution guidelines.
  • You use the code formatters provided here and have them applied to your changes. Don’t submit any formatting related changes.
  • You submit test cases (unit or integration tests) that back your changes.
  • You added yourself as author in the headers of the classes you touched. Amend the date range in the Apache license header if needed. For new types, add the license header (copy from another file and set the current year only).

@pivotal-cla
Copy link

@tishun Please sign the Contributor License Agreement!

Click here to manually synchronize the status of this Pull Request.

See the FAQ for frequently asked questions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status: waiting-for-triage An issue we've not yet triaged
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants